package com.ssy.lingxi.settle.accounts.model.vo.response;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 对账单请款单请款VO
 * @author Saske
 * @date 2021/12/19
 * @version 2.0.0
 */
public class ReconciliationApplyAmountVO implements Serializable {

    private static final long serialVersionUID = -91001334042812L;

    /**
     * 请款单号
     */
    private String applyNo;

    /**
     * 请款单内部状态
     */
    private Integer innerStatus;

    /**
     * 请款单内部状态名称
     */
    private String innerStatusName;

    /**
     * 请款类型
     */
    private Integer applyType;

    /**
     * 请款类型名称
     */
    private String applyTypeName;

    /**
     * 请款单摘要
     */
    private String applyAbstract;

    /**
     * （供应商）会员Id
     */
    private Long vendorMemberId;

    /**
     * （供应商）会员角色Id
     */
    private Long vendorRoleId;

    /**
     * （采购方）会员Id
     */
    private Long buyerMemberId;

    /**
     * （采购方）会员角色Id
     */
    private Long buyerRoleId;
    /**
     * 收款方
     */
    private String payee;

    /**
     * 账户名称
     */
    private String name;

    /**
     * 银行账号
     */
    private String bankAccount;

    /**
     * 开户行
     */
    private String bankDeposit;

    /**
     * 请款金额
     */
    private BigDecimal totalApplyAmount;

    /**
     * 核销金额
     */
    private BigDecimal totalWriteOffAmount;

    /**
     * 对应对账id
     */
    private Long reconciliationId;

    /**
     * 对应对账单号
     */
    private String reconciliationNo;

    /**
     * 单据时间
     */
    private String createTime;

    /**
     * 对账单请款单请款明细VO
     */
    private List<ReconciliationApplyAmountRowVO> rows;

    public String getApplyNo() {
        return applyNo;
    }

    public void setApplyNo(String applyNo) {
        this.applyNo = applyNo;
    }

    public Integer getInnerStatus() {
        return innerStatus;
    }

    public void setInnerStatus(Integer innerStatus) {
        this.innerStatus = innerStatus;
    }

    public Integer getApplyType() {
        return applyType;
    }

    public void setApplyType(Integer applyType) {
        this.applyType = applyType;
    }

    public String getApplyAbstract() {
        return applyAbstract;
    }

    public void setApplyAbstract(String applyAbstract) {
        this.applyAbstract = applyAbstract;
    }

    public String getPayee() {
        return payee;
    }

    public void setPayee(String payee) {
        this.payee = payee;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getBankAccount() {
        return bankAccount;
    }

    public void setBankAccount(String bankAccount) {
        this.bankAccount = bankAccount;
    }

    public String getBankDeposit() {
        return bankDeposit;
    }

    public void setBankDeposit(String bankDeposit) {
        this.bankDeposit = bankDeposit;
    }

    public BigDecimal getTotalApplyAmount() {
        return totalApplyAmount;
    }

    public void setTotalApplyAmount(BigDecimal totalApplyAmount) {
        this.totalApplyAmount = totalApplyAmount;
    }

    public BigDecimal getTotalWriteOffAmount() {
        return totalWriteOffAmount;
    }

    public void setTotalWriteOffAmount(BigDecimal totalWriteOffAmount) {
        this.totalWriteOffAmount = totalWriteOffAmount;
    }

    public Long getReconciliationId() {
        return reconciliationId;
    }

    public void setReconciliationId(Long reconciliationId) {
        this.reconciliationId = reconciliationId;
    }

    public String getReconciliationNo() {
        return reconciliationNo;
    }

    public void setReconciliationNo(String reconciliationNo) {
        this.reconciliationNo = reconciliationNo;
    }

    public String getCreateTime() {
        return createTime;
    }

    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }

    public List<ReconciliationApplyAmountRowVO> getRows() {
        return rows;
    }

    public void setRows(List<ReconciliationApplyAmountRowVO> rows) {
        this.rows = rows;
    }

    public String getInnerStatusName() {
        return innerStatusName;
    }

    public void setInnerStatusName(String innerStatusName) {
        this.innerStatusName = innerStatusName;
    }

    public String getApplyTypeName() {
        return applyTypeName;
    }

    public void setApplyTypeName(String applyTypeName) {
        this.applyTypeName = applyTypeName;
    }

    public Long getVendorMemberId() {
        return vendorMemberId;
    }

    public void setVendorMemberId(Long vendorMemberId) {
        this.vendorMemberId = vendorMemberId;
    }

    public Long getVendorRoleId() {
        return vendorRoleId;
    }

    public void setVendorRoleId(Long vendorRoleId) {
        this.vendorRoleId = vendorRoleId;
    }

    public Long getBuyerMemberId() {
        return buyerMemberId;
    }

    public void setBuyerMemberId(Long buyerMemberId) {
        this.buyerMemberId = buyerMemberId;
    }

    public Long getBuyerRoleId() {
        return buyerRoleId;
    }

    public void setBuyerRoleId(Long buyerRoleId) {
        this.buyerRoleId = buyerRoleId;
    }
}
